Oggetto: Proprietà interfaccia
Simbolo:
Le proprietà dell'interfaccia sono un'estensione della norma IEC 61131-3 e uno strumento per la programmazione orientata agli oggetti. Una proprietà dell'interfaccia dichiara i metodi di accesso Get
e Set
(nessun codice di implementazione). Pertanto, un blocco funzione che implementa un interfaccia eredita anche le proprietà dell'interfaccia.
È possibile aggiungere una proprietà di interfaccia all'albero dei dispositivi per un'interfaccia. Quindi un'interfaccia viene estesa con i metodi di accesso Get
e Set
. Il Get
accessor è per l'accesso in lettura. Il Set
accessor è per l'accesso in scrittura. È possibile eliminare una funzione di accesso non necessaria. Clic . per aggiungere un accessorio. Il Aggiungi proprietà interfaccia si apre la finestra di dialogo.
Esempio
Literal_A


L'interfaccia itf_A
ha la proprietà Literal_A
con i metodi di accesso Get
e Set
.
I blocchi funzione fb_A1
e fb_A2
implementare l'interfaccia itf_A
e quindi eredita la sua proprietà di interfaccia. Ogni FB ha la propria implementazione.
Interfaccia itf_A
INTERFACE itf_A VAR END_VAR PROPERTY Literal_A : STRING
FB fb_A1
FUNCTION_BLOCK fb_A1 IMPLEMENTS itf_A VAR str_1 : STRING; str_2 : STRING; iCnt : INT; END_VAR iCnt := iCnt + 1; str_1 := 'Function block A1';
Accessore fb_A1.Literal_A.Get
VAR END_VAR Literal_A := CONCAT (str_1,' and property.');
Accessore fb_A1.Literal_A.Set
VAR END_VAR str_2 := Literal_A;
FB fb_A2
FUNCTION_BLOCK fb_A2 IMPLEMENTS itf_A VAR str_1 : STRING; str_2 : STRING; iCnt : INT; END_VAR iCnt := iCnt + 1; str_1 := 'Function block A2';
Accessore fb_A2.Literal_A.Get
VAR END_VAR Literal_A := str_1;
Accessore fb_A2.Literal_A.Set
VAR END_VAR str_2 := Literal_A;
Programma PLC_PRG
PROGRAM PLC_PRG VAR iCnt : INT; my_1 : fb_A1; my_2 : fb_A2; strName_1 : STRING; strName_2: STRING; END_VAR iCnt := iCnt + 1; my_1(); my_2(); strName_1:= my_1.Literal_A; strName_2:= my_2.Literal_A; my_1.Literal_A := 'Hello 1'; my_2.Literal_A := 'World 2';
Ciò porta al seguente monitoraggio di PLC_PRG
al runtime dell'applicazione:
